home *** CD-ROM | disk | FTP | other *** search
- The Performance Retrieve macro
-
- line 1: load patch number into Y
- line 2: load group id into Z (0 - 127)
- line 3: load group into X;
- line 4: if Z (group id) is 0 up it to 1 then reduce group id by 1
-
- line 5: if group==0 calc bank offset from 0, add patch num and return
- line 6: if group==1 calc bank offset from 1536, only allow one bank
- line 7: group==2 for the remainder (EXP) calc bank+patch, ofs from 1792
-
-
- MW = 0 MW * V3 MW + V4 MW + 4 FR X W MW + 1 FR Y W MX < 4 MY | X
- MW - 2 FR Z W
- MW - 1 FR X W
- IFQ Z 0 MZ = 1 IFE MZ - 1
-
- IFQ X 0 MZ * 256 MY + Z RET Y ] IFE
- IFQ X 1 MZ % 1 MZ * 256 MZ + 1536 MY + Z RET Y ] IFE
- MZ % 12 MZ * 256 MZ + 1792 MY + Z RET Y
-
-
-
- The Performance Store Macro
-
- line 1: calc the start offset for the data
- line 2: store the high part of the patch
- line 3: store the low part of the patch
- line 4: get the edit value into x, calc a bank number, zero y
- line 5: set Y=1 if this is a PCM bank
- line 6: set Y=2 if this is an EXP bank
- line 7: get the bank into x again
- line 8: calc the bank num for PCM bank
- line 9: calc the bank num for EXP bank
- line 10: save group and group ID values
-
- MW = 0 MW * V3 MW + V4 MW + 4
- MZ = X MY = X MX > 4 MX & 15 FS X W
- MW + 1 MY & 15 FS Y W
-
- MX = Z MX / 256 MY = 0
-
- MX - 5 IFG X MY = 1 IFE
- MX - 1 IFG X MY = 2 IFE
-
- MX = Z MX / 256
- IFQ Y 1 MX - 6 IFE
- IFQ Y 2 MX - 7 IFE
-
- MX + 1 MW - 3 FS Y W MW + 1 FS X W
-